NOTE: The file 'Manual' is an Impression Publisher document, this is a
printed manual for this program that is better explained than this !Help
file
Intro
~~~~~
Based on an origanal project menu system, developed for the Joseph Rowntree
School, York.
Note: This application supports Acorn's interactive !Help application
fully, even on menu items, which took me ages to work out how to do.
What is DeskMen
~~~~~~~~~~~~~~~
DeskMen is a multi tasking menu application for the Acorn
Archimedes range of computers with Risc OS 3 or later. The menu is
compleatly user generated, and can consist of up to ten items, although
menu TREES can be used, with submenus having up to ten items as well.
Getting started
~~~~~~~~~~~~~~~
I assume that you have a basic understanding of the Risc OS desktop
environment. If you are using DeskMen for the first time then it is probably
best to return it to it's default state. This will avoide possible
confusion. To return the menu to it's default state do the following:-
1) Double click on the !DMen applicaion with the <SHIFT> key held down,
this will open the application directory.
2) Deleate the file named 'Prefs' and the one named 'MenuDef' if it exists.
(NB: These files might NOT be present, that is OK)
3) Close the application directory.
4) Run the !DMen application.
If you have done the above correctly you should get a message
telling you that the program could not find your options file. This is
because you have just deleted it. Don't worry, the program will create an
options file with the default options. If you click on the OK button of
this dialogue box you should then get another box telling you that the
program can't find the menu definition file, and that you should read the
relavent section in the help file. This is because you haven't created a
menu yet, more about that later. If you then click on the OK button of that
dialogue box you should see the DeskMen icon appear on the right hand side
of the icon bar, the menu for the DeskMen application can be accessed by
clicking the menu button over this icon.
The menu
~~~~~~~~
The iconbar menu is shown below:-
Info =>
------------
Options...
Save menu =>
------------
Quit
Info
----
This option leads to a standard information box, that gives information
about the program, such as the author, version, etc.
Options
-------
This leads to the options window, this can also be accessed by clicking
ajust on the iconbar icon.
Save menu
---------
This option leads to a save box, drag the icon to a file window to save the
menu definition file as a text file ready for editing.
Quit
----
Guess!
The options window
~~~~~~~~~~~~~~~~~~
This is the window where you configure the application to your liking, it
is also the window where you set the passowrd. There are 11 options, these
are:-
Menu options ==> Password
On exit
On shutdown
Case match
Return to menu when apps quit
Remove from memory
Support Disc Look 2 'Hot link'
Misc options ==>
Allways Wimp_Poll
Wimp_Poll on menu, idle otherwise
Allways Wimp_PollIdle
Use idle delay of : xxx 1/100 sec
I will deal with each of these options in turn.
Menu options
============
Password
--------
This controls whether a password is needed to exit or shutdown the menu.
Shutdown is the same as ⇧^F12.
On exit
-------
If the password option is on then selecting this option will mean that a
password is needed to exit the menu.
On shutdown
------------
If the password option is on then selecting this option means that a
password is needed to shutdown the computer from the menu.
Case match
----------
If this option is on then the password is case sensative, if it is off
then case doesn't matter. eg with case match on HELLO, HelLO, hello, etc. are all different, but with it off they all are recognised as the same word,
Return to menu when apps quit
-----------------------------
If this option is selected then when an application is run from the menu
the menu will remain in memory and will re-appear when the applications
'Quit' option is selected. If this option is off then the menu will quit
when an application is loaded.
Remove from memory
------------------
If this option is on then when an item of the menu is selected the menu is quit and removed from memory, but when the application quits the menu is automaticly re-loaded. This has the advantage that the menu only uses up memory when it is open. Unfortunatly you are allways returned to the top level menu.
Support Disc Look 2 'Hot link'
------------------------------
This decides whether the program will communicate with the Disc Look 2
application. If you don't use Disc Look 2 then you should probably turn
this option off, although you shouldn't get any problems if it left on.
Don't allow quit
----------------
If the support Disc Look 2 'Hot link' option is on then while using an
application loaded from the menu, you won't be able to quit the Disc Look 2
application.
No access to HD's
-----------------
If the support Disc Look 2 'Hot link' option is on then while using an
application loaded from the menu, you won't be able to access any Hard
Drives connected to your machine via the Disc Look 2 application.
Misc options
============
The Misc options section is designed to set the speed of Desk Men, if you
don't understand the options just leave them, the default settings are
quite ok, the section is just there for people who do.
Allways Wimp_Poll
-----------------
If this option is set then Desk Men will allways issue a Wimp_Poll call
Wimp_Poll on menu, idle otherwise
---------------------------------
If this option is set then Desk Men will use Wimp_Poll when the main menu
is open, but it will use Wimp_PollIdle at any other times, with the return
time specified. This is probably the best option as the program idles when
the menu is not displayed, ie when an application is loaded, but goes as
fast as possible when the menu is open, so responses to clicks don't become
sluggish.
Allways Wimp_PollIdle
---------------------
If this option is set then Desk Men will allways use Wimp_PollIdle with the
return delay specified. This can cause the menu to be a bit sluggish,
especially if there is a long delay set.
Use idle delay of : xxx 1/100 sec
---------------------------------
This sets the return time for any Wimp_PollIdle calls, if you idle all the
time then a low number is best, but if you only idle out of the menu (See
above) then a higher delay is possible, I use 250, ie 2.5 seconds. Remember
100 = 1 sec. I can't say how much difference this makes to the speed of the
machine, but I will find out.
If a preferances file can't be found on startup a file with the following
defaults will be created.
Password - on
On exit - on
On shutdown - off
Case match - off
Return to menu when apps quit - on
Remove from meory - on
Support Disc Look 2 'Hot link' - on
Don't allow quit - on
No access to HD's - on
Poll setting - Poll on menu, idle otherwise
Idle time - 25 1/100 sec
Default password is : 1234
To set your own password enter a password into the writable icon.
THE PASSWORD IS CASE SENSATIVE IF THE CASE MATCH OPTION IS ON
Creating a new menu
~~~~~~~~~~~~~~~~~~~
New menus are defined by a text file that the program reads, this
is then encrypted and stored as a menu definition file inside the !DMen
application. It is allways best to keep your origonal text file safe, just
in case you wish to change the menu at a later date. To create a new menu
first create an empty text file in a suitable text editior, e.g. !Edit, or
!StrongED. The menu is a series of lines, seperated by a return, each line
can either be a start/end marker for a menu, an item, a path or a comment.
The following special symbols apply:-
{<Title> - This is the start of a menu where <Title> is the title
of the menu, not more than 39 letters long.
} - This is the end of menu marker, it must be on a line of it's
own.
|<Comment> - This is a comment line, any line starting with | will
be ignored.
-(Dash) - If this is at the start of a path then the application
will load when selected, but you will stay in the menu. This can be usefull
if you want to load one application then another.
+ - If this is at the start of a path then the application will be
loaded then quit. Usefull for !Printers.
*<Command> - use this instead of a path to exicute the star command
<Command>. for example *ADFS:Format 0 E, would format the disc in drive 0.
Menu definition files take the following form :-
{Title
Item - Not more than 27 letters.
Path/Submenu title/* command
}
Item is the item that will be displayed on the menu. Here is an example
menu file:-
{Main menu - Title
Impression II - Item
ANYFS::AnyDisc.$.DTP.!Impress - Path
A Submenu - Item
{A Submenu - Title
Draw - Item (On submenu)
Resources::$.Apps.!Draw - Path
} - End of menu marker
Another item - Item back on main menu now!
*Format 0 F - A star command
} - The final end of menu marker
When you have created your text file drag it onto the DeskMen icon on the
iconbar, if all is well you will be given the option to view your menu. If
there were any errors you will be told. Once you have created a menu it
will appear when the !DMen application is run.
If you wish to turn your menu back into text then use the utility, Convert,
supplied with the program to change them back, this utility also converts
menu files coded by Deskmen 1.10 and 1.20 to text.
NOTE: From v1.50 onwards you can save the menu as text from the program, leave the menu and there is a 'Save' option on the iconbar menu.
Known bugs and oddities
~~~~~~~~~~~~~~~~~~~~~~~
You can't have two items that are the same on different menus.
You can't have two menu titles the same.
If you issue *Shut or similar when the menu has been removed from meory, it will not return when you quit the app.
Additions and improvements in version 1.70
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Here are some improvements that I would like to be able to implement in
version 1.70:-
Dissalow access to the command line totally, by means of a small
patch to the task manager, using the Filter module.
Support editing of the menu via the 'External Edit' protocol as
supported by !StrongEd (This **SHOULD** be here by v1.61)
Better method of removing the menu from menu, (ie a module task)
Maybe OLE support for editing, if I can work it out.
Risc OS 2
~~~~~~~~~
This program needs Risc OS 3 or later, if you want a version for
RO2 then write to me, enclosing an SAE and a disc and I'll send you one.
Version history
~~~~~~~~~~~~~~~
1.01
----
The origanal first version, only ten items on the menu at once, only one
menu, also it was very prone to crashing.
1.10
----
This is a new, re-written version, it now provides menu trees, star
commands from the menu and it is a lot less prone to crashing than the
origanal.
1.20
----
Improved version, now uses a "pane" in the options window, can use Alt
spaces in paths, any spaces in paths are counted as Alt spaces.
1.30 - 23 Jan 1994
----
Two new options, to allow interaction with Disc Look 2, Menu files are now
coded differently. If you return to the menu by clicking on the iconbar and
you left it from a submenu with fewer items than the main menu, it doesn't
leave the icons shaded. Also the program now comes with a convert utility,
to convert menu files to text.
1.31 - 24 Jan 1994
----
Small bugfix to Disc Look 2 'Hotlink' section, if Disc Look was loaded
straight after DeskMen then it wouldn't receive the necessary messages from DeskMen. This problem occures if you use a desktop boot file to load Disc Look and DeskMen, even if Disc Look is loaded first, what happens is this:-
Disc Look loads ==> Initialises
Issues openwindow call (Title window)
Polls to allow wimp to open window
.. While on poll loop
Boot file continues
<== DeskMen Loads
Deskmen initialises
Sends messages to Disc Look
Polls to allow messages to go
.. While DeskMen polls
Wimp sends messages (From DeskMen)
Disc Look waits until 0 reason code from wimp
Disc Look initialies
Disc Look polls
Deskmen opens menu
If you understand that you will see that allthough Disc Look appears to
start first, DeskMen has sent the messages before it is ready to receive
them.
1.40
----
Added a Misc section to the options window. This allows you to set if the
menu idles, and for how long. An idled program is not called by the wimp
for xx 1/100 sec, Therefore speeding up the computer.
1.42
----
Small bugfixes
1.50
----
Added a niced marble effect backdrop for all the windows, I need a better
sprite though. I also introduced an option to save the menu as a text file
so that it can be edited. Plus the program has got smaller, it now occupies
only 56K of memory, when there is no menu loaded
1.51
----
Unselectable icons are now deleted rather than shaded, this makes the
menu much neater.
1.60 - 15 Jan 1995
----
Added option to turn case sensitivity of passwords off
Added option to allow the menu to be quit when an application loads and be re-loaded when it quits. I havn't done this very well though. I was going to write a module task to watch when the relavent application quit and reload the menu, I then realised that I could do it by creating a small obey file with one command to load the application and one command to reload the menu, because the file would be left open when the first application was run the menu would not be reloaded untill it quit. This is OK but could suffer problems if a command such as *Shut is issued. I can't see this being a problem, but if anyone has problems with it then please let me know and I shall re-do it as a module task.
Also fixed small bug so that the 'Return to menu when apps quit' actually works, I had never tested this option, and when I did I found that it didn't actually do anything.
And finally...
~~~~~~~~~~~~~~
The DeskMen application was written by Ian Clark, all files (exept the
WimpExt module) are copyright 1993-95 Ian Clark and may not be copied or
changed. You may alter your own, private, not to be given away, copy
though. This program is PD and may not be sold, although a small charge may
be imposed for the disc.
If you have any queries, bugs, money, or general comments about this or any
other PD program by me please write to the following address (A disc with some PD will make my reply that much swifter):-